Pouvoir transmettre et recevoir en SSTV, c'est bien mais si l'on pouvait
trouver un moyen de crypter, ce serait mieux !
D'abord il faut savoir que la transmission s'effectue analogiquement.
Et oui, c'est en grande partie une erreur de dire que la SSTV est un
mode numérique !
Donc, le problème consistera à crypter un signal qui
est très sensible aux parasites ... pas facile ...
Si on veut crypter, il faut le faire d'une manière qui ne perturbe
pas la transmission, sinon on va se retrouver avec une image complètement
illisible à la sortie du récepteur et du décrypteur.
En claire, il faut conserver un aspect de continuité entre
les pixels.
( ou pour ceux qui préfèrent la version mathématique
: il faut que la dérivée de la fonction associée au
signal soit majorée par une constante K. Au-delà, la perte
de qualité sera directement proportionnelle à la différence
signal' - K )
La solution que je propose est, sur le principe, toute simple.
Elle est basée sur un principe multi-clef de cryptage.
Il suffit de combiner plusieurs systèmes afin d'obtenir un cryptage
"béton".
Une image est une suite de ligne, et on va simplement intervertir des lignes d'une manière prédéfini par une "clef de cryptage" ( version âge des cavernes):
ligne 1 - ligne 1 - ligne 1 - ligne 1 - ligne 1 - ligne 1 - ligne 1
- ligne 1 - ligne 1 - ligne 1
ligne 4 - ligne 4 - ligne 4 - ligne 4 - ligne 4 - ligne 4 - ligne 4
- ligne 4 - ligne 4 - ligne 4
ligne 6 - ligne 6 - ligne 6 - ligne 6 - ligne 6 - ligne 6 - ligne 6
- ligne 6 - ligne 6 - ligne 6
ligne 7 - ligne 7 - ligne 7 - ligne 7 - ligne 7 - ligne 7 - ligne 7
- ligne 7 - ligne 7 - ligne 7
ligne 2 - ligne 2 - ligne 2 - ligne 2 - ligne 2 - ligne 2 - ligne 2
- ligne 2 - ligne 2 - ligne 2
ligne 8 - ligne 8 - ligne 8 - ligne 8 - ligne 8 - ligne 8 - ligne 8
- ligne 8 - ligne 8 - ligne 8
ligne 3 - ligne 3 - ligne 3 - ligne 3 - ligne 3 - ligne 3 - ligne 3
- ligne 3 - ligne 3 - ligne 3
ligne 5 - ligne 5 - ligne 5 - ligne 5 - ligne 5 - ligne 5 - ligne 5
- ligne 5 - ligne 5 - ligne 5
ligne 9 - ligne 9 - ligne 9 - ligne 9 - ligne 9 - ligne 9 - ligne 9
- ligne 9 - ligne 9 - ligne 9
C'est fini pour la théorie, en pratique voilà ce que
ça donne:
Facile à décrypter ? Pas vraiment, en tout cas pas si
l'on ne dispose pas de la clef.
L'exemple est sur 9 lignes, mais une image SSTV en comporte des centaines.
Une petite application mathématique : j'ai 256 lignes, combien
de possibilité de cryptage ?
Hé hé hé ... qui dira que les maths ne servent
à rien ? ( surtout en cryptage ).
je prends une ligne au hasard, j'ai 256 possibilités, pour chacune de ces possibilités, j'en ai encore 255, et ainsi de suite ce qui donne 256*255*254*....ect ...*2*1 possibilités = 256! ("factoriel 256" pour ceux qui ne connaissent pas )
Ce qui donne un chiffre pas dégeulasse du tout.
Donc vous êtes à l'abris des regards indiscrets ( = 99,9 % de la population )
Par contre, il y aura toujours une personne sur mille qui, par une
autre approche plus intelligente que la "brute force" de base, arrivera
à décrypter.
Remarque: Ce système correspond à la première
version de SSTV SCRAMBLER
Voici le résultat:
Tout le monde à déjà modifié une photo avec
le filtre "image en négatif" sous photoShop ou Paint shop Pro non
?
Et bien on va faire exactement la même chose mais sur certaines
lignes composant l'image seulement.
On utilise donc une autre clef de cryptage ( du type clef_de_troisième_niveau
= {0,1,0,1,1, ... } avec 0 = on fait rien et 1 = on passe la ligne en "négatif
photo" ).
J'ai récement aidé des étudiants à réaliser
un programme utilisant ces 3 systèmes combinés et le résultat
était assez remarquable ( impossibilité de deviner l'image
de départ ).
Rouge première ligne
numéro 1
Vert première ligne
numéro 2
Bleu première ligne
numéro 3
Rouge deuxième ligne
numéro 4
Vert deuxième ligne
numéro 5
Bleu deuxième lligne
numéro 6
... ect ...
ce qui donne en pratique :
et on mélange les numéros suivant une clef, ce
qui donne au final :
Comment installer mon logiciel ?
Il faut oublier tout de suite le simple SETUP.EXE pour les lamers infos,
je n'ai pas le temps d'en faire un.
- Dézipper le fichier SSTVSC4.ZIP dans un répertoire,
par exemple C:\SSTVSC4
- Créer deux icones : une avec le fichier C:\SSTVSC4\SC4.EXE
( le "scrambler" ) et l'autre avec c:\SSTVSC4\UNSC4.EXE ( le "déscrambler"
)
- Lancer C:\SC4\SETUP.EXE
- Entrer le nom du fichier source ( à crypter ) par exemple
C:\SSTVSC4\SCRAMBLE\SOURCETX.TGA
- Entrer le nom du fichier de destination ( une fois crypté
) par exemple C:\SSTVSC4\SCRAMBLE\TX.TGA
- Entrer le nom du fichier source ( à décrypter ) par
exemple C:\SSTVSC4\SCRAMBLE\SOURCERX.TGA
- Entrer le nom du fichier destination ( une fois décrypté
) par exemple C:\SSTVSC4\SCRAMBLE\RX.TGA
- Entrer le nom de la clef de cryptage à utiliser par exemple
C:\SSTVSC4\ALPHA.KEY
Le fichier C:\SCRAMBLE.004 va être créé.
Créer un dossier "C:\SSTVSC4\SCRAMBLE" dans lequel on enregistre
:
- une images à crypter SOURCETX.TGA
- une images à décrypter SOURCERX.TGA
Le logiciel se chargera de créer les 2 autres ( une fois crypté
et une fois décrypté ) qui s'appellerons TX.TGA et RX.TGA.
Voilà, c'est fini on ne peut pas faire mieux sans détruire
l'image en la cryptant (en tout cas, je vois pas comment on pourrait faire
autrement).
Je crois donc que vous avez devant vous le moyen de cryptage le plus
puissant qui existe pour la SSTV.
Si on essayait de faire plus puissant, on serait alors obligé
de perdre en qualité lors de la transmission hertzienne => c'est
pas le but recherché.
Le décryptage est impossible pour tout amateur.
Il faudrait procéder par recherche de ressemblance, et en plus
isoler les couches RGB ... bonne chance!
( Avis à tous les Hackers : c'est un défit intéressant
... le cracker de scrambleur dans un prochain HVU ? )